package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 金蝶-财务模块-税率对象 erp_king_base_tax_rate_info
 * @author wutao
 * @date 2024-06-22
 */
@TableName ("erp_king_base_tax_rate_info")
@ApiModel (value = "erp_king_base_tax_rate_info对象", description = "金蝶-财务模块-税率")
@Data
public class KingBaseTaxRateEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 所属公司
     */
    @ApiModelProperty ("所属公司")
    @TableField ("dept_id")
    @Excel (name = "所属公司")
    private String deptId;

    /**
     * 编码
     */
    @ApiModelProperty ("编码")
    @TableField ("rate_code")
    @Excel (name = "编码")
    private String rateCode;

    /**
     * 税率
     */
    @ApiModelProperty ("税率")
    @TableField ("rate")
    @Excel (name = "税率")
    private String rate;

    /**
     * 是否开增值税发票;1:是;2:否
     */
    @ApiModelProperty ("是否开增值税发票;0:是;1:否")
    @TableField ("is_tax_invoice")
    @Excel (name = "是否开增值税发票;")
    private Integer isTaxInvoice;

    /**
     * 税收制度,select走字典
     */
    @ApiModelProperty ("税收制度ID")
    @TableField ("tax_system")
    @Excel (name = "税收制度")
    private String taxSystem;

    /**
     * 税种,select走字典
     */
    @ApiModelProperty ("税种ID")
    @TableField ("tax_category")
    @Excel (name = "税种")
    private String taxCategory;

    /**
     * 名称
     */
    @ApiModelProperty ("名称")
    @TableField ("title")
    @Excel (name = "名称")
    private String title;

    /**
     * 描述
     */
    @ApiModelProperty ("描述")
    @TableField ("company_desc")
    @Excel (name = "描述")
    private String companyDesc;

    /**
     * 是否增值税;1:是;2:否
     */
    @ApiModelProperty ("是否增值税;1:是;2:否")
    @TableField ("is_add_tax")
    @Excel (name = "是否增值税;1:是;2:否")
    private Integer isAddTax;

    /**
     * 卖方代扣代缴,1:是;2:否
     */
    @ApiModelProperty ("卖方代扣代缴,1:是;2:否")
    @TableField ("is_sell_replace")
    @Excel (name = "卖方代扣代缴,1:是;2:否")
    private Integer isSellReplace;

    /**
     * 买方代扣代缴,1:是;2:否
     */
    @ApiModelProperty ("买方代扣代缴,1:是;2:否")
    @TableField ("is_buy_replace")
    @Excel (name = "买方代扣代缴,1:是;2:否")
    private Integer isBuyReplace;

    /**
     * 生效日期
     */
    @ApiModelProperty ("生效日期")
    @TableField ("effective_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "生效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date effectiveTime;

    /**
     * 失效日期
     */
    @ApiModelProperty ("失效日期")
    @TableField ("invalid_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "失效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date invalidTime;

    /**
     * 数据状态;1:创建;2:审核中;3:已审核
     */
    @ApiModelProperty ("数据状态;1:创建;2:审核中;3:已审核")
    @TableField ("data_status")
    @Excel (name = "数据状态;1:创建;2:审核中;3:已审核")
    private Integer dataStatus;

    /**
     * 是否可用
     */
    @ApiModelProperty ("是否可用")
    @TableField ("is_send")
    @Excel (name = "是否可用")
    private Integer isSend;

    @ApiModelProperty ("创建人")
    @TableField ("create_by")
    private String createBy;

    @ApiModelProperty ("创建时间")
    @TableField ("create_time")
    private Date createTime;

    @ApiModelProperty ("更新人")
    @TableField ("update_by")
    private String updateBy;

    @ApiModelProperty ("更新时间")
    @TableField ("update_time")
    private Date updateTime;

    /**
     * 是否可用
     */
    @ApiModelProperty ("是否禁用；1：正常；2：禁用")
    @TableField ("is_disabled")
    @Excel (name = "是否可用")
    private Integer isDisabled;

    /**
     * 是否可用
     */
    @ApiModelProperty ("是否可用")
    @TableField ("is_used")
    @Excel (name = "是否可用")
    private Integer isUsed;

    @ApiModelProperty ("是否可用")
    @TableField ("is_del")
    @Excel (name = "是否可用")
    private Integer isDel;

    @ApiModelProperty ("税收制度名称")
    @TableField (exist = false)
    private String taxSystemName;

    @ApiModelProperty ("税种名称")
    @TableField (exist = false)
    @Excel (name = "税种")
    private String taxCategoryName;

}
